﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Interfaces;

namespace Model
{

    public class AuktionCol : IAuktionCol
    {
        private Auktion _auktion;
        object _lock = new object();
        private int auktNr = 0;
        private List<Auktion> _auktioner = new List<Auktion>();

        public void OpretAuktion(String navn, String ting, Double pris)
        {
            lock (_lock)
            {
                _auktion = new Auktion(navn, ting, pris, auktNr++);
                _auktioner.Add(_auktion);
            }

        }



        public string VisAuktioner()
        {
            lock (_lock)
            {
                StringBuilder sb = new StringBuilder();
                foreach (Auktion auktion in _auktioner)
                {
                    sb.AppendLine(auktion.ToString());
                }
                return sb.ToString();
            }

        }

        public IAuktion Byd(int auktionsnummer, double pris)
        {
            lock (_lock)
            {
                foreach (Auktion auktion in _auktioner)
                {
                    if (auktion.Nummer == auktionsnummer)
                    {
                         
                        return auktion.Byd(pris);
                    }
                }
                return null;
            }

        }

        public IAuktion FindAuktion(int auktionsNummer)
        {
            lock (_lock)
            {
                foreach (Auktion auktion in _auktioner)
                {
                    if (auktion.Nummer == auktionsNummer)
                    {
                        return auktion;
                    }
                }
                return null;
            }
            
        }
    }
}